﻿using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Uportal.Shp.Core.Common
{
    /// <summary>
    /// Вспомогательный класс взаимодействию с PeopleEditor
    /// </summary>
    public static class UserHelper
    {
        // Получение пользователя по логину или имени
        public static SPUser GetSiteUserByLoginOrName(SPWeb web, string loginOrName)
        {
            IEnumerable<SPUser> enmUsers = web.SiteUsers.Cast<SPUser>().Where(
                x => ((x.Name.ToUpper() == loginOrName.ToUpper()) || (x.LoginName.ToUpper() == loginOrName.ToUpper())));
            return enmUsers.Count() > 0 ? enmUsers.ToList()[0] : null;
        }

        // Получение пользователя по его внутреннему SharePoint-представлению
        public static SPUser GetSiteUserByRawName(SPWeb web, string rawUserName)
        {
            SPFieldUserValue val = new SPFieldUserValue(web, rawUserName);
            return val.User;
        }
    }
}
